Comentarios
Como cualquier otro lenguaje de programación, Rust permite comentarios incrustados en el código:
El siguiente código:
// This program
// prints a number.
print!("{}", 34); // thirty-four
/* print!("{}", 80);
*/Imprimirá 34.
Las dos primeras líneas comienzan con un par de barras diagonales (//). Este par de caracteres indica el inicio de un comentario de línea, que termina al final de la línea. Para escribir un comentario en varias líneas, el par de barras diagonales debe repetirse en cada línea del comentario, como en la segunda línea del programa anterior.
Los programadores de Rust suelen dejar un espacio justo después de la doble barra para mejorar la legibilidad.
Como aparece en la tercera línea, un comentario de línea puede comenzar después de una declaración, generalmente separado por al menos un carácter de espacio.
Existe otro tipo de comentario, ejemplificado en las líneas cuarta y quinta. Este tipo de comentario comienza con el par de caracteres «/» y termina con el par «/»; puede extenderse por varias líneas, por lo que se denomina «comentario multilínea».
Los programadores de Rust suelen evitar los comentarios multilínea en el código de producción, utilizando únicamente comentarios de una sola línea, y los usan solo para excluir temporalmente parte del código de la compilación. Esto se debe a que los comentarios de una sola línea tienen algunas ventajas: al extraer líneas fuente con una herramienta de búsqueda o al comparar diferentes versiones de un código base, queda claro de inmediato qué líneas son comentarios y cuáles no.
Los comentarios de Rust son idénticos a los comentarios del lenguaje C moderno. De hecho, existe una diferencia importante entre los comentarios de Rust y los de C: los de Rust pueden anidarse, y deben hacerlo correctamente. De esta manera, primero se pueden excluir de la compilación algunas partes de un archivo fuente y luego excluir una parte más grande que contenga las partes más pequeñas.
Aquí hay un comentario válido:
/* This is /* a valid*/
comment, even /* if /* it contains
comments*/ inside */itself. */Y aquí hay un código que genera el error de compilación: unterminated block comment.
/* this /* instead is not allowed in Rust,
while in C is tolerated (but it may generate a warning).*/